document.oncontextmenu = function(){
    return false;
};
function rightClick(){
    $('.public-tabs .tabs li a.tabs-inner').mousedown(function(e){
        if(e.which == 3){
            var _index = $(this).parent().index();
            $('#mm').show().attr('index',_index).css({"top": e.pageY,"left": e.pageX});
        }
    })
}

var allTabtitle = [];
var menuList = [];
function jy_menu(i) {
    var tabsWidth = 0;
    var sel = $('.public-tabs .tabs-selected'),
        _index = parseInt(sel.index()),
        tabname = sel.find('.tabs-title').text();
    if (i == 0) {
        /*刷新*/
        var _src = $('.public-tabs .tabs-panels>div.panel').eq(_index).find('iframe');
        _src.attr('src', _src.attr('src'))
    }
    else if (i == 1) {
        /*关闭全部*/
        for (var i = 1; i < allTabtitle.length; i++) {
            $('#pageIframes').tabs('close', allTabtitle[i]);
        }
    }
    else {
        /*关闭其他*/
        for (var i = 1; i < allTabtitle.length; i++) {
            if (tabname != allTabtitle[i]) {
                $('#pageIframes').tabs('close', allTabtitle[i]);
            }
        }

        setTimeout(function() {
            $('.tabs').children().each(function(index,item) {
                tabsWidth += item.offsetWidth;
            });
            $('.tabs').width(tabsWidth);
            $('.tabs').width(tabsWidth);
        },17)

    }

}


$(function() {


    $('.menu-toggle').click(function() {
        $(this).toggleClass('on');
        if ($(this).hasClass('on')) {
            $('.main-left').animate({
                left : "-200px"
            });
            $('.main-right').animate({
                left : "0"
            });
            $(this).animate({
                left : "0"
            });
        } else {
            $('.main-left').animate({
                left : "0"
            });
            $('.main-right').animate({
                left : "200px"
            });
            $(this).animate({
                left : "200px"
            });
        }
    })

    shouYeInit();
    CreateDiv("shouye", "welcome.do", "首页", "notrefresh");
});

var closeFuncMap = {};
function CreateDiv(tabid, url, name, type, callback)// tabid 用来关闭这个tab
{
    allTabtitle.push(name);
    closeFuncMap[name] = callback;
    var tablist = $('#pageIframes').tabs('tabs');
    // /如果当前tabid不存在则新建一个tab
    if (!$('#pageIframes').tabs('exists', name)) {
   /*     if (tablist.length > 7) {
            $.messager.alert('警告','页面打开太多，请关闭后再打开!','error');
            return;
        }*/
        var iframe = '<div title="'+name+'"><iframe id='+tabid+' src="'+url+'" frameborder="no"  width="100%" scrolling="auto"></iframe></div>';
        var closable = true;
        if (tabid == "shouye") {
            closable = false;
        }
        $('#pageIframes').tabs('add', {
            title : name,
            content : iframe,
            iconCls : '',
            closable : closable,
            tabWidth : (60 + name.length * 15) + "px"
        });
        $("#"+tabid).height($('.main-right').height()-48);
        rightClick();
    } else {// /如果当前tabid存在直接显示已经打开的tab
        $('#pageIframes').tabs('select', name);
        if (type == "refresh") {
            $("#"+tabid).attr('src', url);
        }

    }
    $("*").click(function(){
        $('#mm').hide();
    });
}
/***
 * 根据title选中某个面板，并刷新该面板的datagrid
 * @param title
 */
function reloadTabGrid(title)
{
    if ($("#pageIframes").tabs('exists', title)) {
        $('#pageIframes').tabs('select' , title);
        window.top.reload_Abnormal_Monitor.call();
    }
}

function setacrent(tabname) {// 设置当前高亮的tab是哪一个
    $('#pageIframes').tabs('select', tabname);
}

var _callback;
function CloseDiv(tabname) {
    _callback = closeFuncMap[tabname];
    if (_callback && _callback != "undefined" && _callback != null	&& _callback != "") {
        try{
            _callback();
        } catch(e) {
        }
    }
    $('#pageIframes').tabs('close', tabname);
}
var cacheAry = [];
var menuMap = new Map();
function setLeftMenu(menuId) {
    var rootNode;
    if(menuMap.get(menuId) != ''){
        rootNode = menuMap.get(menuId);
    }else {
        var data = [];
        var idStartWith = ''
        var idStartWith1 = '';
        $.each(menuList,function (i,menu) {
            if(menu.parentId == menuId){
                if(menu.type == '1'){
                    menu.parentId = '0'
                    idStartWith = menu.menuId.substring(0,4);

                    data.push(menu);
                    if(idStartWith != ''){
                        $.each(menuList,function (i,menu1) {
                            if(menu1.parentId.indexOf(idStartWith) >= 0 && menu1.type == '2') {
                                data.push(menu1);
                                idStartWith1 = menu1.menuId.substring(0,6);
                            }else {
                                idStartWith1 = '';
                            }
                            if(idStartWith != ''){
                                if(menu1.parentId.indexOf(idStartWith1) >= 0 && menu1.type == '3'){
                                    data.push(menu1);
                                }
                            }else {
                                idStartWith1 = '';
                            }
                        })
                    }
                }else {
                    idStartWith = '';
                }
            }
        })
        var nodeMap = {
            "0" : {}
        };
        for (var i = 0; i < data.length; i++) {
            var node = data[i];
            if (node.menuUrl) {
                node.menuUrl = node.menuUrl;
            }
            nodeMap[node.menuId] = node;//在nodeMap对象下创建相应的键值对，这样就可以通过这个id名调用相应的菜单内容
            //若存在无效数据，即不存在父级id,不要继续执行，直接跳出这个循环，进入下一次循环
            if (!nodeMap[node.parentId]) {
                continue;
            }
            //若检测noedeMap相对应的键名是否已创建子集，如果没有直接赋值空数组
            if (!nodeMap[node.parentId].children) {
                nodeMap[node.parentId].children = [];
            }
            //在nodeMap[0]中添加他的子集
            nodeMap[node.parentId].children.push(node);
        }
        rootNode = nodeMap["0"];
        menuMap.set(menuId,rootNode);
    }
    createMenuHtml(rootNode);
    //
    $('.addBg').click(function() {
        try {
            that.removeClass('menuBg');
        }catch(e){}
        $(this).parent().addClass('menuBg');
        that = $(this).parent();

    })
}
function shouYeInit() {// 首页tab的初始化 包含 快捷菜单 、菜单、通知公告

    $.ajax({
        url : 'sysMenu/findSysMenuTreeAll.do',
        data : {
            "node" : "0"
        },
        success : function(data) {
            menuList = data;//设置页面菜单缓存
            setHeadMenu(data);
            // setLeftMenu(data);
        }
    });

}

// 一级菜单图标
var menuIcons = [];

// 创建主菜单的方法
function createMenuHtml(node) {
    if($(".sub-menu").length>0){
        $(".sub-menu").remove();
    }
    if (node.children) {
        for (var i = 0; i < node.children.length; i++) {// 当主菜单少于等于13个的时候
            createNodeHtml(node.children[i], i);
            menuIcons.push(node.children[i].menuIco ? node.children[i].menuIco : 'left_icon13.png');
        }
    }


    $('.sub-menu dd>a').click(function() {
        // var _this = $(this).parent();
        // _this.toggleClass('on').siblings().removeClass('on');
        // $(this).siblings().slideToggle();
        if($(this).siblings().css("display") == "none") {
            $(this).children('.toggle').css('background','url(/static/img/accordion_arrows.png) no-repeat -16px 0');
        }else {
            $(this).children('.toggle').css('background','url(/static/img/accordion_arrows.png) no-repeat 0 0');
        }

        if($(this).parent().siblings().children('.three-menu-child').css('display') == 'block') {
            $(this).parent().siblings().find('.toggle').css('background','url(/static/img/accordion_arrows.png) no-repeat 0 0');
        }
        $(this).siblings().slideToggle();
    })
    // var threemenu = document.querySelectorAll('.three-menu');
    // for(var i = 0; i < threemenu.length; i++) {
    //     if(threemenu[i].childElementCount > 1) {
    //         threemenu[i].firstElementChild.firstElementChild.style.background = 'url(/static/img/icon2.png)';
    //     }
    // }
    //点击
    //四级
    $('.three-menu-child li>a').click(function() {
        if($(this).siblings().css("display") == "none") {
            $(this).children('.toggle').css('background','url(/static/img/accordion_arrows.png) no-repeat -16px 0');
        }else {
            $(this).children('.toggle').css('background','url(/static/img/accordion_arrows.png) no-repeat 0 0');
        }

        if($(this).parent().siblings().children('.four-menu-child').css('display') == 'block') {
            $(this).parent().siblings().find('.toggle').css('background','url(/static/img/menu_zhankai.png) center no-repeat');
        }
        $(this).siblings().slideToggle();
    })
    //加四级图标
    var fourmenu = document.querySelectorAll('.four-menu');
    for(var i = 0; i < fourmenu.length; i++) {
        if(fourmenu[i].childElementCount > 1) {
            fourmenu[i].firstElementChild.firstElementChild.style.background = 'url(./images/icon2.png)';
        }
    }
    // $(".three-menu>a").click(function(){
    //     if($(".three-menu-child").length>0){
    //         $('.three-menu-child li>a').children().addClass("line1");
    //     }
    // })
    // 一级图标
    var firstMenu = document.querySelectorAll('#sider-menu.accordion .panel-icon');
    if (firstMenu && firstMenu.length >　0) {
        for (var i = 0; i < firstMenu.length; i++) {
            $(firstMenu[i]).css('background', 'url(/static/img/'+menuIcons[i] +') no-repeat center center');
        }
    }

}
//
var htmlString;
function createNodeHtml(n, index) {// 创建主菜单的方法的子方法

    //去除menuId尾部多余的0，来检测这个menuId的级别
    var level = n.menuId.replace(/(00)+$/, "").length / 2 - 1;
    if (level == 1) {
        cacheAry = [];
        cacheAry.push('<div class="sub-menu"><dl><dd>');
        if (n.children) {
            cacheAry.push('<a href="javascript:;"><i class="line"></i>'+n.menuName+'<i class="toggle"></i></a><ul class="three-menu-child" style="display: none">');
            for (var j = 0; j < n.children.length; j++) {
                createNodeHtml(n.children[j], j);
            }
            cacheAry.push('</ul>');
        }else{
            cacheAry.push('<a href="javascript:;" class="addBg" title="' + n.menuName
                + '" onclick=\"CreateDiv(\'' + n.menuId + '\',\''
                + n.menuUrl + '\',\'' + n.menuName
                + '\',\'notrefresh\')\"><i class="line"></i>'+subMenu(n.menuName));
        }
        cacheAry.push('</dd></dl></div>');
        htmlString = cacheAry.join("");

        $('#sider-menu').append(htmlString);
    }else if (level == 2) {
        cacheAry.push('<li class="three-menu">');
        if (n.children) {
            cacheAry.push('<a href="javascript:;"><i></i>'+subMenu(n.menuName)+'<i class="toggle"></i></a><ul class="four-menu-child">');
            for (var j = 0; j < n.children.length; j++) {
                createNodeHtml(n.children[j], j);
            }
            cacheAry.push('</ul>');
        }else{
            cacheAry.push('<a href="javascript:;"  class="addBg" title="' + n.menuName
                + '" onclick=\"CreateDiv(\'' + n.menuId + '\',\''
                + n.menuUrl + '\',\'' + n.menuName
                + '\',\'notrefresh\')\"><i class="line1"></i>'+subMenu(n.menuName));
        }
        cacheAry.push('</li>');
    }else if (level == 3) {
        cacheAry.push('<li><a href="javascript:;"  class="addBg" title="' + n.menuName
            + '" onclick=\"CreateDiv(\'' + n.menuId + '\',\''
            + n.menuUrl + '\',\'' + n.menuName
            + '\',\'notrefresh\')\"><i class="line2"></i>' + subMenu(n.menuName) + '</li>');
    }/* else {
        var sign = '?';
        if (n.menuUrl.indexOf('?') > -1) {
            sign = '&';
        }
        n.menuUrl = n.menuUrl + sign + 'menuId=' + n.menuId + '&timetamp='
            + new Date().getTime();
        cacheAry.push('<li><a href="javascript:;"  class="addBg" title="' + n.menuName
            + '" onclick=\"CreateDiv(\'' + n.menuId + '\',\''
            + n.menuUrl + '\',\'' + n.menuName
            + '\',\'notrefresh\')\">' + subMenu(n.menuName) + '</a></li>');
    }*/
}

function subMenu(name) {

    if (name && name.length > 0) {
        if (name.length > 8) {
            return name.substring(0, 8) + "..."
        }else {
            return name;
        }
    }

}
var leftMenuInit = false;
function setHeadMenu(data) {
    $.each(data,function(i,menu){  //遍历二维数组
        if(menu.type == '0'){
            menuMap.set(menu.menuId,"");
            $("#daohang").append("<li class='layui-nav-item'><a href='javascript:void(0)' onclick='setLeftMenu(\""+ menu.menuId + "\")' >"+ menu.menuName +"</a></li>")
        }
        if(!leftMenuInit) {
            setLeftMenu(menu.menuId);
            leftMenuInit = true;
        }
    })
}
function easyRightDisplay(btnList) {
    //获取所有的toolbar按钮
    var button = $('div.datagrid div.datagrid-toolbar a');
    for (var i = 0; i < button.length; i++) {
        var toolbar = button[i];
        var id = toolbar.id;
        if(btnList != null){
            $.each(btnList,function (key,value) {
                if (id == value) {  //隐藏按钮
                    var btn = $('div.datagrid div.datagrid-toolbar a').eq(i);
                    btn.hide();
                    var $td = btn.parents("td")
                    var	separatorNext = $td.next("td").find("div:first");
                    var	separatorPrev = $td.prev("td").find("div:first");
                    if(separatorNext.length){
                        separatorNext.remove();
                    }
                    if(separatorPrev.length){
                        separatorNext.remove();
                    }
                    return false;
                }
            })
        }else {
            return false;
        }
    }
}


